This application relates generally to communication systems, and, more particularly, to wireless communication systems.
Wireless communication systems typically include a network of base stations and base station control network entities such as a Mobility Management Entity (MME), a serving gateway (SGW), or a public data network (PDN) gateway that provide wireless connectivity to user equipment. For example, the base station control entities may set up flows over an air interface to the user equipment and then the base station may schedule communication with the user equipment based upon the flow parameters. User equipment may include devices such as cellular phones, smart phones, tablets, ultrabooks, laptops, wireless-enabled desktop computers, and the like. The wireless communication system may support communication between different users, e.g., phone calls, text messaging, or email. The wireless communication system may also support streaming of media, e.g., from one or more servers to user equipment. For example, programming such as live sporting events or archived movies or television shows can be unicast, multicast, or broadcast to user equipment so that users can watch or listen to the programming on their user equipment.
Adaptive bit-rate streaming can be used to provide programming or other content to user equipment. Adaptive bit rate streaming allows a client device to select one of a set of multiple bit rates for receiving source audio, video, multimedia or other information. For example, an encoder may encode a source input stream at multiple bit rates ranging from a relatively low bit rate to a relatively high bit rate to form a set of adaptive bit rate streams. The encoder or a separate segmenting function divides the different bit-rate streams into segments that have a predetermined duration. The content may be pre-encoded, segmented, and stored on a server (e.g., for archived movies or television programs) or it may be encoded, segmented and provided to the server in real-time (e.g., for live programming). The client may receive a manifest file that includes information identifying the different available bit rates and the length of the encoded segments. Once the media streaming session begins, the client can select different bit-rate encodings for each segment of the stream. For example, the client may request higher bit rate encodings for upcoming segments when the client determines that the estimated network throughput is higher than the bit rate selected for the current segment. The client may also request lower bit rate encodings if the estimated network throughput is lower than the bit-rate selected for the current segment. HTTP Adaptive Streaming (HAS) is rapidly becoming the preferred technology for watching pre-encoded video content on mobile devices.